#ifndef LCD_GLOBAL_DATA_H
#define LCD_GLOBAL_DATA_H

#include "stdint.h"
#include "stdbool.h"

// 定义需要显示的动态数据结构
typedef struct {
    // 页面1数据
    uint8_t address;               // 地址编号
    float batteryVoltage;          // 电池电压(V)
    bool isMaintenanceDischarge;   // 是否维护放电
    uint8_t powerSupplyStatus;     // 供电状态(0-异常,1-正常)
    
    // 页面2数据
    uint16_t dischargeCurrent;     // 放电电流(mA)
    uint16_t batteryCapacity;      // 电池容量
    uint8_t versionMajor;          // 主版本号
    uint8_t versionMinor;          // 次版本号
    bool communicationStatus;      // 通信状态(0-断开,1-连接)
    
    // 页面3数据
    int16_t cycleParam;            // 周期参数
    float safetyVoltage;           // 本安输出电压(V)
    uint16_t safetyCurrent;        // 本安输出电流(mA)
    
    // 显示控制标志
    bool dataUpdated;              // 数据更新标志(0-未更新,1-已更新)
} LcdGlobalData;

// 声明全局数据变量(在.c文件中定义)
extern LcdGlobalData g_lcdData;

#endif
